/**
 * 
 */
package ar.rhok.yerbus.core.dao;

import java.io.Serializable;

/**
 * @author Mauro Monti
 *
 */
public interface GenericDAO<E, PK extends Serializable> {

	/**
	 * @param newInstance
	 * @return
	 */
	E save(E newInstance);

    /**
     * @param transientObject
     */
    E update(E transientObject);

    /**
     * @param persistentObject
     */
    void delete(E persistentObject);

    /**
     * @param id
     * @return
     */
    E findById(PK id);

}
